package com.Mms.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MuserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MuserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUidIsNull() {
            addCriterion("Uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("Uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(Integer value) {
            addCriterion("Uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(Integer value) {
            addCriterion("Uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(Integer value) {
            addCriterion("Uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("Uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(Integer value) {
            addCriterion("Uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(Integer value) {
            addCriterion("Uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<Integer> values) {
            addCriterion("Uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<Integer> values) {
            addCriterion("Uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidBetween(Integer value1, Integer value2) {
            addCriterion("Uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(Integer value1, Integer value2) {
            addCriterion("Uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUnameIsNull() {
            addCriterion("Uname is null");
            return (Criteria) this;
        }

        public Criteria andUnameIsNotNull() {
            addCriterion("Uname is not null");
            return (Criteria) this;
        }

        public Criteria andUnameEqualTo(String value) {
            addCriterion("Uname =", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotEqualTo(String value) {
            addCriterion("Uname <>", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameGreaterThan(String value) {
            addCriterion("Uname >", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameGreaterThanOrEqualTo(String value) {
            addCriterion("Uname >=", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameLessThan(String value) {
            addCriterion("Uname <", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameLessThanOrEqualTo(String value) {
            addCriterion("Uname <=", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameLike(String value) {
            addCriterion("Uname like", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotLike(String value) {
            addCriterion("Uname not like", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameIn(List<String> values) {
            addCriterion("Uname in", values, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotIn(List<String> values) {
            addCriterion("Uname not in", values, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameBetween(String value1, String value2) {
            addCriterion("Uname between", value1, value2, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotBetween(String value1, String value2) {
            addCriterion("Uname not between", value1, value2, "uname");
            return (Criteria) this;
        }

        public Criteria andUstunoIsNull() {
            addCriterion("Ustuno is null");
            return (Criteria) this;
        }

        public Criteria andUstunoIsNotNull() {
            addCriterion("Ustuno is not null");
            return (Criteria) this;
        }

        public Criteria andUstunoEqualTo(String value) {
            addCriterion("Ustuno =", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoNotEqualTo(String value) {
            addCriterion("Ustuno <>", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoGreaterThan(String value) {
            addCriterion("Ustuno >", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoGreaterThanOrEqualTo(String value) {
            addCriterion("Ustuno >=", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoLessThan(String value) {
            addCriterion("Ustuno <", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoLessThanOrEqualTo(String value) {
            addCriterion("Ustuno <=", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoLike(String value) {
            addCriterion("Ustuno like", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoNotLike(String value) {
            addCriterion("Ustuno not like", value, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoIn(List<String> values) {
            addCriterion("Ustuno in", values, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoNotIn(List<String> values) {
            addCriterion("Ustuno not in", values, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoBetween(String value1, String value2) {
            addCriterion("Ustuno between", value1, value2, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUstunoNotBetween(String value1, String value2) {
            addCriterion("Ustuno not between", value1, value2, "ustuno");
            return (Criteria) this;
        }

        public Criteria andUpasswordIsNull() {
            addCriterion("Upassword is null");
            return (Criteria) this;
        }

        public Criteria andUpasswordIsNotNull() {
            addCriterion("Upassword is not null");
            return (Criteria) this;
        }

        public Criteria andUpasswordEqualTo(String value) {
            addCriterion("Upassword =", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotEqualTo(String value) {
            addCriterion("Upassword <>", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordGreaterThan(String value) {
            addCriterion("Upassword >", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordGreaterThanOrEqualTo(String value) {
            addCriterion("Upassword >=", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLessThan(String value) {
            addCriterion("Upassword <", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLessThanOrEqualTo(String value) {
            addCriterion("Upassword <=", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLike(String value) {
            addCriterion("Upassword like", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotLike(String value) {
            addCriterion("Upassword not like", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordIn(List<String> values) {
            addCriterion("Upassword in", values, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotIn(List<String> values) {
            addCriterion("Upassword not in", values, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordBetween(String value1, String value2) {
            addCriterion("Upassword between", value1, value2, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotBetween(String value1, String value2) {
            addCriterion("Upassword not between", value1, value2, "upassword");
            return (Criteria) this;
        }

        public Criteria andQuanxianIsNull() {
            addCriterion("Quanxian is null");
            return (Criteria) this;
        }

        public Criteria andQuanxianIsNotNull() {
            addCriterion("Quanxian is not null");
            return (Criteria) this;
        }

        public Criteria andQuanxianEqualTo(Integer value) {
            addCriterion("Quanxian =", value, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianNotEqualTo(Integer value) {
            addCriterion("Quanxian <>", value, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianGreaterThan(Integer value) {
            addCriterion("Quanxian >", value, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianGreaterThanOrEqualTo(Integer value) {
            addCriterion("Quanxian >=", value, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianLessThan(Integer value) {
            addCriterion("Quanxian <", value, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianLessThanOrEqualTo(Integer value) {
            addCriterion("Quanxian <=", value, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianIn(List<Integer> values) {
            addCriterion("Quanxian in", values, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianNotIn(List<Integer> values) {
            addCriterion("Quanxian not in", values, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianBetween(Integer value1, Integer value2) {
            addCriterion("Quanxian between", value1, value2, "quanxian");
            return (Criteria) this;
        }

        public Criteria andQuanxianNotBetween(Integer value1, Integer value2) {
            addCriterion("Quanxian not between", value1, value2, "quanxian");
            return (Criteria) this;
        }

        public Criteria andMnoIsNull() {
            addCriterion("Mno is null");
            return (Criteria) this;
        }

        public Criteria andMnoIsNotNull() {
            addCriterion("Mno is not null");
            return (Criteria) this;
        }

        public Criteria andMnoEqualTo(String value) {
            addCriterion("Mno =", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoNotEqualTo(String value) {
            addCriterion("Mno <>", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoGreaterThan(String value) {
            addCriterion("Mno >", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoGreaterThanOrEqualTo(String value) {
            addCriterion("Mno >=", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoLessThan(String value) {
            addCriterion("Mno <", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoLessThanOrEqualTo(String value) {
            addCriterion("Mno <=", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoLike(String value) {
            addCriterion("Mno like", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoNotLike(String value) {
            addCriterion("Mno not like", value, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoIn(List<String> values) {
            addCriterion("Mno in", values, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoNotIn(List<String> values) {
            addCriterion("Mno not in", values, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoBetween(String value1, String value2) {
            addCriterion("Mno between", value1, value2, "mno");
            return (Criteria) this;
        }

        public Criteria andMnoNotBetween(String value1, String value2) {
            addCriterion("Mno not between", value1, value2, "mno");
            return (Criteria) this;
        }

        public Criteria andUboolIsNull() {
            addCriterion("Ubool is null");
            return (Criteria) this;
        }

        public Criteria andUboolIsNotNull() {
            addCriterion("Ubool is not null");
            return (Criteria) this;
        }

        public Criteria andUboolEqualTo(Integer value) {
            addCriterion("Ubool =", value, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolNotEqualTo(Integer value) {
            addCriterion("Ubool <>", value, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolGreaterThan(Integer value) {
            addCriterion("Ubool >", value, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolGreaterThanOrEqualTo(Integer value) {
            addCriterion("Ubool >=", value, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolLessThan(Integer value) {
            addCriterion("Ubool <", value, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolLessThanOrEqualTo(Integer value) {
            addCriterion("Ubool <=", value, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolIn(List<Integer> values) {
            addCriterion("Ubool in", values, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolNotIn(List<Integer> values) {
            addCriterion("Ubool not in", values, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolBetween(Integer value1, Integer value2) {
            addCriterion("Ubool between", value1, value2, "ubool");
            return (Criteria) this;
        }

        public Criteria andUboolNotBetween(Integer value1, Integer value2) {
            addCriterion("Ubool not between", value1, value2, "ubool");
            return (Criteria) this;
        }

        public Criteria andUlogicIsNull() {
            addCriterion("Ulogic is null");
            return (Criteria) this;
        }

        public Criteria andUlogicIsNotNull() {
            addCriterion("Ulogic is not null");
            return (Criteria) this;
        }

        public Criteria andUlogicEqualTo(Integer value) {
            addCriterion("Ulogic =", value, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicNotEqualTo(Integer value) {
            addCriterion("Ulogic <>", value, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicGreaterThan(Integer value) {
            addCriterion("Ulogic >", value, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicGreaterThanOrEqualTo(Integer value) {
            addCriterion("Ulogic >=", value, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicLessThan(Integer value) {
            addCriterion("Ulogic <", value, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicLessThanOrEqualTo(Integer value) {
            addCriterion("Ulogic <=", value, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicIn(List<Integer> values) {
            addCriterion("Ulogic in", values, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicNotIn(List<Integer> values) {
            addCriterion("Ulogic not in", values, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicBetween(Integer value1, Integer value2) {
            addCriterion("Ulogic between", value1, value2, "ulogic");
            return (Criteria) this;
        }

        public Criteria andUlogicNotBetween(Integer value1, Integer value2) {
            addCriterion("Ulogic not between", value1, value2, "ulogic");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("Sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("Sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(String value) {
            addCriterion("Sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(String value) {
            addCriterion("Sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(String value) {
            addCriterion("Sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(String value) {
            addCriterion("Sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(String value) {
            addCriterion("Sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(String value) {
            addCriterion("Sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLike(String value) {
            addCriterion("Sex like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotLike(String value) {
            addCriterion("Sex not like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<String> values) {
            addCriterion("Sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<String> values) {
            addCriterion("Sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(String value1, String value2) {
            addCriterion("Sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(String value1, String value2) {
            addCriterion("Sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andMdateIsNull() {
            addCriterion("Mdate is null");
            return (Criteria) this;
        }

        public Criteria andMdateIsNotNull() {
            addCriterion("Mdate is not null");
            return (Criteria) this;
        }

        public Criteria andMdateEqualTo(Date value) {
            addCriterion("Mdate =", value, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateNotEqualTo(Date value) {
            addCriterion("Mdate <>", value, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateGreaterThan(Date value) {
            addCriterion("Mdate >", value, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateGreaterThanOrEqualTo(Date value) {
            addCriterion("Mdate >=", value, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateLessThan(Date value) {
            addCriterion("Mdate <", value, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateLessThanOrEqualTo(Date value) {
            addCriterion("Mdate <=", value, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateIn(List<Date> values) {
            addCriterion("Mdate in", values, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateNotIn(List<Date> values) {
            addCriterion("Mdate not in", values, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateBetween(Date value1, Date value2) {
            addCriterion("Mdate between", value1, value2, "mdate");
            return (Criteria) this;
        }

        public Criteria andMdateNotBetween(Date value1, Date value2) {
            addCriterion("Mdate not between", value1, value2, "mdate");
            return (Criteria) this;
        }

        public Criteria andUbool2IsNull() {
            addCriterion("Ubool2 is null");
            return (Criteria) this;
        }

        public Criteria andUbool2IsNotNull() {
            addCriterion("Ubool2 is not null");
            return (Criteria) this;
        }

        public Criteria andUbool2EqualTo(Integer value) {
            addCriterion("Ubool2 =", value, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2NotEqualTo(Integer value) {
            addCriterion("Ubool2 <>", value, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2GreaterThan(Integer value) {
            addCriterion("Ubool2 >", value, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2GreaterThanOrEqualTo(Integer value) {
            addCriterion("Ubool2 >=", value, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2LessThan(Integer value) {
            addCriterion("Ubool2 <", value, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2LessThanOrEqualTo(Integer value) {
            addCriterion("Ubool2 <=", value, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2In(List<Integer> values) {
            addCriterion("Ubool2 in", values, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2NotIn(List<Integer> values) {
            addCriterion("Ubool2 not in", values, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2Between(Integer value1, Integer value2) {
            addCriterion("Ubool2 between", value1, value2, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUbool2NotBetween(Integer value1, Integer value2) {
            addCriterion("Ubool2 not between", value1, value2, "ubool2");
            return (Criteria) this;
        }

        public Criteria andUboolpsIsNull() {
            addCriterion("Uboolps is null");
            return (Criteria) this;
        }

        public Criteria andUboolpsIsNotNull() {
            addCriterion("Uboolps is not null");
            return (Criteria) this;
        }

        public Criteria andUboolpsEqualTo(String value) {
            addCriterion("Uboolps =", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsNotEqualTo(String value) {
            addCriterion("Uboolps <>", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsGreaterThan(String value) {
            addCriterion("Uboolps >", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsGreaterThanOrEqualTo(String value) {
            addCriterion("Uboolps >=", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsLessThan(String value) {
            addCriterion("Uboolps <", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsLessThanOrEqualTo(String value) {
            addCriterion("Uboolps <=", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsLike(String value) {
            addCriterion("Uboolps like", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsNotLike(String value) {
            addCriterion("Uboolps not like", value, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsIn(List<String> values) {
            addCriterion("Uboolps in", values, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsNotIn(List<String> values) {
            addCriterion("Uboolps not in", values, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsBetween(String value1, String value2) {
            addCriterion("Uboolps between", value1, value2, "uboolps");
            return (Criteria) this;
        }

        public Criteria andUboolpsNotBetween(String value1, String value2) {
            addCriterion("Uboolps not between", value1, value2, "uboolps");
            return (Criteria) this;
        }

        public Criteria andReserved2IsNull() {
            addCriterion("Reserved2 is null");
            return (Criteria) this;
        }

        public Criteria andReserved2IsNotNull() {
            addCriterion("Reserved2 is not null");
            return (Criteria) this;
        }

        public Criteria andReserved2EqualTo(String value) {
            addCriterion("Reserved2 =", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2NotEqualTo(String value) {
            addCriterion("Reserved2 <>", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2GreaterThan(String value) {
            addCriterion("Reserved2 >", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2GreaterThanOrEqualTo(String value) {
            addCriterion("Reserved2 >=", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2LessThan(String value) {
            addCriterion("Reserved2 <", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2LessThanOrEqualTo(String value) {
            addCriterion("Reserved2 <=", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2Like(String value) {
            addCriterion("Reserved2 like", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2NotLike(String value) {
            addCriterion("Reserved2 not like", value, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2In(List<String> values) {
            addCriterion("Reserved2 in", values, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2NotIn(List<String> values) {
            addCriterion("Reserved2 not in", values, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2Between(String value1, String value2) {
            addCriterion("Reserved2 between", value1, value2, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved2NotBetween(String value1, String value2) {
            addCriterion("Reserved2 not between", value1, value2, "reserved2");
            return (Criteria) this;
        }

        public Criteria andReserved3IsNull() {
            addCriterion("Reserved3 is null");
            return (Criteria) this;
        }

        public Criteria andReserved3IsNotNull() {
            addCriterion("Reserved3 is not null");
            return (Criteria) this;
        }

        public Criteria andReserved3EqualTo(String value) {
            addCriterion("Reserved3 =", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3NotEqualTo(String value) {
            addCriterion("Reserved3 <>", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3GreaterThan(String value) {
            addCriterion("Reserved3 >", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3GreaterThanOrEqualTo(String value) {
            addCriterion("Reserved3 >=", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3LessThan(String value) {
            addCriterion("Reserved3 <", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3LessThanOrEqualTo(String value) {
            addCriterion("Reserved3 <=", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3Like(String value) {
            addCriterion("Reserved3 like", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3NotLike(String value) {
            addCriterion("Reserved3 not like", value, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3In(List<String> values) {
            addCriterion("Reserved3 in", values, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3NotIn(List<String> values) {
            addCriterion("Reserved3 not in", values, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3Between(String value1, String value2) {
            addCriterion("Reserved3 between", value1, value2, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved3NotBetween(String value1, String value2) {
            addCriterion("Reserved3 not between", value1, value2, "reserved3");
            return (Criteria) this;
        }

        public Criteria andReserved4IsNull() {
            addCriterion("Reserved4 is null");
            return (Criteria) this;
        }

        public Criteria andReserved4IsNotNull() {
            addCriterion("Reserved4 is not null");
            return (Criteria) this;
        }

        public Criteria andReserved4EqualTo(String value) {
            addCriterion("Reserved4 =", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4NotEqualTo(String value) {
            addCriterion("Reserved4 <>", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4GreaterThan(String value) {
            addCriterion("Reserved4 >", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4GreaterThanOrEqualTo(String value) {
            addCriterion("Reserved4 >=", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4LessThan(String value) {
            addCriterion("Reserved4 <", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4LessThanOrEqualTo(String value) {
            addCriterion("Reserved4 <=", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4Like(String value) {
            addCriterion("Reserved4 like", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4NotLike(String value) {
            addCriterion("Reserved4 not like", value, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4In(List<String> values) {
            addCriterion("Reserved4 in", values, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4NotIn(List<String> values) {
            addCriterion("Reserved4 not in", values, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4Between(String value1, String value2) {
            addCriterion("Reserved4 between", value1, value2, "reserved4");
            return (Criteria) this;
        }

        public Criteria andReserved4NotBetween(String value1, String value2) {
            addCriterion("Reserved4 not between", value1, value2, "reserved4");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}